// request.js  

// 基础URL，如果所有请求都是基于同一个域名，可以在这里设置  
const baseURL = 'http://localhost:3000';

const token = uni.getStorageSync('token')
console.log('token', token);  

// 设置请求头  
const header = {
    'content-type': 'application/json', // 默认值  
    // 'Authorization': 'Bearer ' + token // 如果需要的话，可以在这里添加认证token  
    'wxCode': 'true',
    'Authorization': `Bearer ${uni.getStorageSync('token')}`
};

// 封装uni.request方法  
function httpRequest(url: string, method: 'GET', data = {}, headerCustom = {}) {
    return new Promise((resolve, reject) => {
        // 合并请求头  
        const finalHeader = Object.assign({}, header, headerCustom);
        uni.setStorageSync('baseURL', 'http://localhost:3000')
        uni.request({
            url: baseURL + url, // 拼接基础URL和请求路径  
            method: method,
            data: method === 'GET' ? null : data, // 如果是GET请求，data应该为null  
            header: finalHeader,
            success: (res) => {
                // 如果服务器返回的状态码为200，则认为是成功的响应  
                if (res.data && res.statusCode === 200) {
                    resolve(res.data);
                } else {
                    reject(new Error('请求失败: ' + (res.data && res.data?.message || '未知错误')));
                }
            },
            fail: (err) => {
                reject(err);
            }
        });
    });
}

export default httpRequest;